__USE_GNU needs to be in effect when including sys/ucontext.h,
and signal.h pulls it in in some setups.

diff -up hddtemp-0.3-beta15/src/backtrace.c~ hddtemp-0.3-beta15/src/backtrace.c
--- hddtemp-0.3-beta15/src/backtrace.c~	2006-04-19 05:38:14.000000000 +0300
+++ hddtemp-0.3-beta15/src/backtrace.c	2010-02-14 21:59:47.000000000 +0200
@@ -27,13 +27,12 @@
 #include <stdlib.h>
 #include <unistd.h>
 #include <linux/ptrace.h>
+#define __USE_GNU
+#include <ucontext.h>
 #include <signal.h>
 #include <bits/sigcontext.h>
 #include <sys/param.h>
 
-#define __USE_GNU
-#include <ucontext.h>
-
 #define MAX_BTSIZE 64
 
 void backtrace_handler(int n, siginfo_t *ist, void *extra) {


